Spring Boot 对静态资源提供了支持。默认情况下,以下目录为默认的静态资源目录。其中的静态资源可以被直接访问:
classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public/${user.dir}/public/ (程序运行目录下的 public 目录)优先级从上往下,当多个静态资源目录中出现同名文件时,越靠上的目录权重越高。
静态资源的处理类是 ResourceHttpRequestHandler,它会正确地处理资源的 Last-Modified 响应和 Range 请求。
静态资源和 RequestMapping 冲突如果静态资源路径和 @RequestMapping 路径冲突,则 @RequestMapping 优先。
例如,有如下 Controller:
@RestController@RequestMappingpublic class DemoController {@GetMapping("/foo")public ResponseEntity foo () {// 返回字符串 “controller”return ResponseEntity.ok("controller");}}在 src/main/resources/public 目录下有一个名为 foo 的文